iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
Security

資安小白—30天學習滲透測試with OWASP ZAP (Zed Attack Proxy)系列 第 23

Day23—威脅模型分析(Threat Modeling)與風險評估

  • 分享至 

  • xImage
  •  

大家好!我目前正在就讀資訊類科系,平常以接觸程式撰寫居多,對於資安領域的技術沒有太多了解/images/emoticon/emoticon16.gif因此希望藉由這30天的機會,以OWASP ZAP作為主要工具,從實際操作和分析,從環境架設、基本掃描到進階弱點發掘,一步步建立資安思維。
  我將學習如何利用ZAP自動化及主動/被動掃描常見的資安漏洞,並理解其背後的原理,以及該如何修復,例如SQL Injection、XSS等,讓我從「資安小白」進化成具備基本滲透測試技能的「資安入門者」。


今日內容概要:

  1. 什麼是威脅模型分析(Threat Modeling)?
  2. STRIDE模型
  3. 風險評估:DREAD模型
  4. ZAP於威脅建模的應用

什麼是威脅模型分析(Threat Modeling)?

是一種主動的、結構化的安全方法,用於識別、評估系統潛在的威脅,並制定策略來保護有價值的資產,達到預防及降低風險的目標。

威脅模型分析的重要步驟:

  • 確定系統邊界與組成: 釐清系統的範圍,識別重要的資產、元件和資料流。
  • 收集資訊: 蒐集系統的設計文件、程式碼、組態設定等資訊,以利後續分析。
  • 識別和分類威脅: 利用不同方法(如威脅模型工具)找出潛在威脅,例如資料外洩、阻斷服務攻擊等。
  • 評估威脅: 評估威脅發生的可能性,以及威脅可能造成的影響程度。
  • 制定安全措施: 設計並實施相應的安全對策,以降低威脅風險,例如加強身份驗證、存取控制或資料加密。
  • 記錄與更新: 將威脅模型進行文件化,並定期更新以應對不斷變化的威脅。

STRIDE威脅模型

是微軟提出的一個威脅分類模型,主要用來幫助安全分析人員有系統地辨識潛在攻擊手法,分為六種類型:

  • 詐騙 Spoofing: 指危害驗證機制,冒充其他使用者或系統元件,以獲得未經授權的存取的攻擊威脅。
    • 常見的案例:偽造JWT、Session劫持。
  • 竄改 Tampering: 指攻擊者在未經授權的情況下,修改執行中應用程式中的檔案、資料庫、軟體程式碼、部署管線或記憶體等,影響資料的完整性,對資料的準確性而言是非常大的挑戰。
    • 常見的案例:改URL參數、修改請求。
  • 否認 Repudiation: 指當使用者或系統拒絕執行特定動作,例如交易時,就會發生這種類型的安全威脅。這種威脅是利用軟體系統中,缺乏不可否認的控制,使得各方難以對其行為負責。
    • 常見的案例:無日誌紀錄、無稽核機制。
  • 資訊揭露 Information Disclosure: 指機密或敏感資訊意外洩漏給未經授權方,可能因為加密不足、存取控制不當,或是網路應用程式的漏洞所造成。
    • 常見的案例:回傳憑證外洩。
  • 拒絕服務 Deniel of Service: 指透過過度請求或利用系統漏洞來壓倒系統,從而中斷服務的可用性,可能造成業務、服務中斷。
    • 常見的案例:重複提交、暴力請求。
  • 提升特權 Elevation of Previlege: 指當攻擊者獲得比預期更高的存取權限,而系統是受管理層級的控制,就會讓攻擊者得以進行安裝惡意軟體、修改系統設定,或存取敏感資料等惡意操作。
    • 常見的案例:普通用戶取得管理員權限。

風險評估:DREAD模型

評分準則(每項 1-10 分):

  • Damage potential (潛在損害): 如果攻擊成功,後果有多嚴重?影響有多大?

  • Reproducibility (重現性): 攻擊者重現此攻擊有多容易?

  • Exploitability (可利用性): 發動攻擊的技術門檻和所需工具難易度?

  • Affected users (受影響用戶): 有多少用戶或系統會受到影響?

  • Discoverability (可發現性): 發現此弱點有多容易?

風險分數 = 五項相加後分數 / 5(就是取平均)

ZAP於「威脅建模」的應用

  1. 從威脅模型導出高風險端點清單
    例如:登入、交易、資料上傳、管理後台等 API。
  2. 匯入 ZAP Context
    在 ZAP 的「Context」設定中手動加入高風險 URL,或用 excludeRegex 排除低風險頁面(如靜態圖檔、首頁)。
    3.設定有針對性的掃描任務
    • 僅針對特定路徑執行 Active Scan。
    • 調整 Policy(例如增加 Injection 類測試強度)。
  3. 使用報告比對風險模型

威脅模型分析工具

  1. OWASP Threat Dragon
    是一款免費、開源的威脅模型分析工具,提供線上版本和應用程式版本,協助開發人員繪製系統資料流程圖來辨識、紀錄和管理系統的安全威脅。
    -> 支援STRIDE、LINDDUN、CIA、DIE等威脅分類方法
    -> 符合提到的開發生命週期SDL概念

  2. Microsoft Threat Modeling Tool
    是一款免費的工具,以軟體開發使用為主,協助開發人員繪製系統資料流程圖來辨識、管理系統的安全威脅,並提供自動化的安全控制建議和報告。
    -> 支援STRIDE威脅分類方法
    -> 能夠與Visual Studio等開發環境IDE整合

參考文章

https://www.purestorage.com/tw/knowledge/stride-threat-model.html
https://www.fortinet.com/tw/resources/cyberglossary/threat-modeling
https://learn.microsoft.com/zh-tw/azure/security/develop/threat-modeling-tool


上一篇
Day22—安全測試方法論(測試的生命週期)
下一篇
Day24—CI/CD是什麼?
系列文
資安小白—30天學習滲透測試with OWASP ZAP (Zed Attack Proxy)30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言